.text
.section .rodata
.LC0:
        .string "now i is %d\n"

.text
.globl m1
.type m1, @function
m1:
        pushq   %rbp
        movq    %rsp, %rbp
        movl    i.0(%rip), %eax
        addl    $1, %eax
        movl    %eax, i.0(%rip)
        movl    i.0(%rip), %eax
        movl    %eax, %esi
        movl    $.LC0, %edi
        movl    $0, %eax
        call    printf
        nop
        popq    %rbp
        ret

.globl main
.type main, @function
main:
        pushq   %rbp
        movq    %rsp, %rbp
        call    m1
        call    m1
        movl    $0, %eax
        popq    %rbp
        ret

// 从汇编上来看，其实就是在代码段中，定义了一个局部变量
.local i.0
.comm i.0, 4, 4